﻿using Microsoft.Extensions.Hosting;
using System.Threading;
using System.Threading.Tasks;
using VisionCloud.Service.Fms;
using VisionCloud.Utility;

namespace VisionCloud.Web.Service
{
    /// <summary>
    /// 作者：黄钧航
    /// 定时同步项目和设备信息到Fms系统
    /// </summary>
    public class DataSyncToFms : BackgroundService
    {
        private FmsService FmsService { get; set; }

        protected override async Task ExecuteAsync(CancellationToken stoppingToken)
        {
            while (!stoppingToken.IsCancellationRequested)
            {
                #region 同步设备信息

                var result = await FmsService.RegisterForApp();
                if (!string.IsNullOrWhiteSpace(result))
                {
                    Logger.Error(result);
                }

                #endregion 同步设备信息

                #region 同步项目信息

                result = await FmsService.BatchUpdateProjectInfo();
                if (!string.IsNullOrWhiteSpace(result))
                {
                    Logger.Error(result);
                }

                #endregion 同步项目信息

                // 每天同步一次
                await Task.Delay(1000 * 3600 * 24 * 1, stoppingToken).ConfigureAwait(false);
            }
        }
    }
}